package cn.gcyl.module.member.controller.admin.user.vo;

import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
import java.util.List;

@Schema(description = "管理后台 - 会员用户 Response VO")
@Data
@ToString(callSuper = true)
public class MemberUserExcelRespPO {

    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "23788")
    @ExcelProperty("编号")
    private Long id;

    @Schema(description = "手机号", requiredMode = Schema.RequiredMode.REQUIRED, example = "15601691300")
    @ExcelProperty("手机号")
    private String mobile;

    @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
    @ExcelProperty("用户昵称")
    private String nickname;

    /**
     * 会员等级id
     */
    @Schema(description = "会员等级id", example = "1")
    @ExcelProperty("会员等级id")
    private Long memberId;
    /**
     * 会员等级名称
     */
    @Schema(description = "会员等级名称", example = "铂金")
    @ExcelProperty("会员等级名称")
    private String membershipName;
    /**
     * 会员到期时间
     */
    @Schema(description = "会员到期时间")
    @ExcelProperty("会员到期时间")
    private LocalDateTime memberExpirationDate;
    /**
     * 会员购买时间
     */
    @Schema(description = "会员购买时间")
    @ExcelProperty("会员购买时间")
    private LocalDateTime memberPurchaseDate;
    /**
     * 累计购买会员数量
     */
    @Schema(description = "累计购买会员数量", example = "1")
    @ExcelProperty("累计购买会员数量")
    private Long accumulatedQuantity;
    /**
     * 剩余咨询次数
     */
    @Schema(description = "剩余咨询次数")
    @ExcelProperty("剩余咨询次数")
    private Long remainingConsultationFrequency;
    /**
     * 剩余报名次数
     */
    @Schema(description = "剩余报名次数")
    @ExcelProperty("编号")
    private Long remainingRegistrationsFrequency;
    /**
     * 咨询总次数
     */
    @Schema(description = "咨询总次数")
    @ExcelProperty("咨询总次数")
    private Long consultationsTotalNumber;
    /**
     * 报名总次数
     */
    @Schema(description = "报名总次数")
    @ExcelProperty("报名总次数")
    private Long registrationsTotalNumber;
    /**
     * 备注
     */
    @ExcelProperty("备注")
    private String remakes;
}
